package com.sunwayworld.basemodule.business.result.bean;

import com.sunwayworld.framework.data.annotation.Id;
import com.sunwayworld.framework.data.annotation.NotNull;
import com.sunwayworld.framework.data.annotation.Table;
import com.sunwayworld.framework.data.annotation.Transient;
import com.sunwayworld.framework.support.domain.Insertable;
import com.sunwayworld.framework.support.domain.AbstractInsertable;
import java.time.LocalDateTime;
import org.springframework.format.annotation.DateTimeFormat;
import com.alibaba.fastjson.annotation.JSONField;

/**
 * 实验批次
 * 
 * @author hul@sunwayworld.com
 * @date 2023-01-30
 */
@Table("T_LIMS_RUN")
public class LimsRunBean extends AbstractInsertable<Long> implements Insertable<Long> {

    @Transient
    private static final long serialVersionUID = -82566196618711043L;

    @Id
    private Long id;// 主键
    private String runCode;// 批次编号
    private Long testId;// 工序Id
    private String testCode;// 工序编号
    private String testName;// 工序名
    private Long testMethodId;// 工序方法Id
    private String methodCode;// 方法编号
    private String methodDesc;// 方法描述
    private LocalDateTime submitTime;// 调度提交时间
    private String rejectReason;// 退回调度原因
    private LocalDateTime entrySubmitTime;// 结果录入提交时间
    private String reviewRejectReason;// 复核拒绝原因
    private String roomNo;// 房间号
    private String temperature;// 温度
    private String dampness;// 湿度
    private String pressureTo;// 缓存间对走廊压差Pa
    private String pressureFrom;// 房间对缓冲间压差Pa
    private String analystId;// 分析员ID
    private String analystName;// 分析员
    private String reviewerId;// 复核人Id
    private String reviewer;// 复核人

    //布板  这几个字段有可能是空的了
    private String boardCode;// 板编号
    private String boardSpec;// 板规格
    private Long freeCount;// 剩余孔位

    @NotNull(defaultValue = "draft")
    private String status;// 状态
    private String createdById;// 制单人编码
    private String createdByName;// 制单人名称
    @JSONField(format = "yyyy-MM-dd HH:mm:ss")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private LocalDateTime createdTime;// 制单时间
    private String createdByOrgId;// 制单人单位编码
    private String createdByOrgName;// 制单人单位名称
    private Long outSendId;// 外送id
    private String hasBoardFlag;// 是否有布板信息 数据库中默认指定为 '1'
    private String remark;// 备注
    private String boardName;// 任务调度批次提交时，将批次下的工序任务样本的实验编号的（T-板-孔）中的板写入到该字段，一个批次下板名唯一


    public String getBoardName() {
        return boardName;
    }

    public void setBoardName(String boardName) {
        this.boardName = boardName;
    }

    public String getRemark() {
        return remark;
    }

    public void setRemark(String remark) {
        this.remark = remark;
    }

    public String getHasBoardFlag() {
        return hasBoardFlag;
    }

    public void setHasBoardFlag(String hasBoardFlag) {
        this.hasBoardFlag = hasBoardFlag;
    }

    public Long getOutSendId() {
        return outSendId;
    }

    public void setOutSendId(Long outSendId) {
        this.outSendId = outSendId;
    }

    public Long getId() {
        return id;
    }

    public void setId(Long id) {
        this.id = id;
    }

    public String getBoardCode() {
        return boardCode;
    }

    public void setBoardCode(String boardCode) {
        this.boardCode = boardCode;
    }

    public String getBoardSpec() {
        return boardSpec;
    }

    public void setBoardSpec(String boardSpec) {
        this.boardSpec = boardSpec;
    }

    public Long getFreeCount() {
        return freeCount;
    }

    public void setFreeCount(Long freeCount) {
        this.freeCount = freeCount;
    }

    public String getRunCode() {
        return runCode;
    }

    public void setRunCode(String runCode) {
        this.runCode = runCode;
    }

    public Long getTestId() {
        return testId;
    }

    public void setTestId(Long testId) {
        this.testId = testId;
    }

    public String getTestCode() {
        return testCode;
    }

    public void setTestCode(String testCode) {
        this.testCode = testCode;
    }

    public String getTestName() {
        return testName;
    }

    public void setTestName(String testName) {
        this.testName = testName;
    }

    public Long getTestMethodId() {
        return testMethodId;
    }

    public void setTestMethodId(Long testMethodId) {
        this.testMethodId = testMethodId;
    }

    public String getMethodCode() {
        return methodCode;
    }

    public void setMethodCode(String methodCode) {
        this.methodCode = methodCode;
    }

    public String getMethodDesc() {
        return methodDesc;
    }

    public void setMethodDesc(String methodDesc) {
        this.methodDesc = methodDesc;
    }

    public LocalDateTime getSubmitTime() {
        return submitTime;
    }

    public void setSubmitTime(LocalDateTime submitTime) {
        this.submitTime = submitTime;
    }

    public String getRejectReason() {
        return rejectReason;
    }

    public void setRejectReason(String rejectReason) {
        this.rejectReason = rejectReason;
    }

    public LocalDateTime getEntrySubmitTime() {
        return entrySubmitTime;
    }

    public void setEntrySubmitTime(LocalDateTime entrySubmitTime) {
        this.entrySubmitTime = entrySubmitTime;
    }

    public String getReviewRejectReason() {
        return reviewRejectReason;
    }

    public void setReviewRejectReason(String reviewRejectReason) {
        this.reviewRejectReason = reviewRejectReason;
    }

    public String getRoomNo() {
        return roomNo;
    }

    public void setRoomNo(String roomNo) {
        this.roomNo = roomNo;
    }

    public String getTemperature() {
        return temperature;
    }

    public void setTemperature(String temperature) {
        this.temperature = temperature;
    }

    public String getDampness() {
        return dampness;
    }

    public void setDampness(String dampness) {
        this.dampness = dampness;
    }

    public String getPressureTo() {
        return pressureTo;
    }

    public void setPressureTo(String pressureTo) {
        this.pressureTo = pressureTo;
    }

    public String getPressureFrom() {
        return pressureFrom;
    }

    public void setPressureFrom(String pressureFrom) {
        this.pressureFrom = pressureFrom;
    }

    public String getAnalystId() {
        return analystId;
    }

    public void setAnalystId(String analystId) {
        this.analystId = analystId;
    }

    public String getAnalystName() {
        return analystName;
    }

    public void setAnalystName(String analystName) {
        this.analystName = analystName;
    }

    public String getReviewerId() {
        return reviewerId;
    }

    public void setReviewerId(String reviewerId) {
        this.reviewerId = reviewerId;
    }

    public String getReviewer() {
        return reviewer;
    }

    public void setReviewer(String reviewer) {
        this.reviewer = reviewer;
    }

    public String getStatus() {
        return status;
    }

    public void setStatus(String status) {
        this.status = status;
    }

    public String getCreatedById() {
        return createdById;
    }

    public void setCreatedById(String createdById) {
        this.createdById = createdById;
    }

    public String getCreatedByName() {
        return createdByName;
    }

    public void setCreatedByName(String createdByName) {
        this.createdByName = createdByName;
    }

    public LocalDateTime getCreatedTime() {
        return createdTime;
    }

    public void setCreatedTime(LocalDateTime createdTime) {
        this.createdTime = createdTime;
    }

    public String getCreatedByOrgId() {
        return createdByOrgId;
    }

    public void setCreatedByOrgId(String createdByOrgId) {
        this.createdByOrgId = createdByOrgId;
    }

    public String getCreatedByOrgName() {
        return createdByOrgName;
    }

    public void setCreatedByOrgName(String createdByOrgName) {
        this.createdByOrgName = createdByOrgName;
    }

}
